package org.jeecg.modules.hotel.requisition.mapper;

import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.basic.demo.apartment.entity.LwgyBaseApartment;
import org.jeecg.modules.basic.demo.bed.entity.LwgyBaseBed;
import org.jeecg.modules.basic.demo.student.entity.LwgyBaseStudent;
import org.jeecg.modules.hotel.arrangement.entity.ImportStuHotel;
import org.jeecg.modules.hotel.requisition.entity.LwgyHotelHoliday;
import org.jeecg.modules.hotel.requisition.entity.LwgyHotelRequisition;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.jeecg.modules.hotel.requisition.entity.StudentRequest;
import org.jeecg.modules.hotel.requisition.entity.BuildDTO;


/**
 * @Description: 调退宿申请
 * @Author: jeecg-boot
 * @Date:   2021-05-04
 * @Version: V1.0
 */
public interface LwgyHotelRequisitionMapper extends BaseMapper<LwgyHotelRequisition> {


    List<LwgyHotelRequisition> queryPageListCustoms(Page<LwgyHotelRequisition> page, @Param(Constants.WRAPPER)QueryWrapper<LwgyHotelRequisition> queryWrapper);

    //    static List<LwgyHotelRequisition> queryPageListCustoms(Page<LwgyHotelRequisition> page, @Param(Constants.WRAPPER) QueryWrapper<LwgyHotelRequisition> queryWrapper) {
//        return null;
//    }
List<Map<String, String>> listByPids(String pid);
    List<Map<String, String>> listByPides(String pid);

    List<StudentRequest> getStudentRequisition(@Param(value = "lbat") LwgyBaseApartment lwgyBaseApartment);
//    static List<Map<String, String>> listByPids(String pid) {
//        return null;
//    }

    List<LwgyHotelRequisition> buildingQuery(Page<LwgyHotelRequisition> page, @Param(Constants.WRAPPER) QueryWrapper<LwgyHotelRequisition> queryWrapper);

    List<BuildDTO> getbuild();

    List<String> getSelectSchoolCode(String selectSchoolCode);

    List<LwgyHotelRequisition> queryHolidayPageList(Page<LwgyHotelRequisition> page, @Param(Constants.WRAPPER)QueryWrapper<LwgyHotelRequisition> queryWrapper);

    List<Map<String, String>> listByStuNum(String studentNumber);

    public LwgyHotelRequisition getStuAdmin(String studentId);

    /** 导出假期管理名单 */
    List<LwgyHotelHoliday> outHolidayStu(@Param(value = "requisition") LwgyHotelRequisition requisition);

    void updateBatchByHolidayId(List<LwgyHotelHoliday> holidayList);

    /** 查询假期学生住宿信息 */
    List<LwgyHotelHoliday> queryStudentRoomId(List<LwgyHotelHoliday> list);

    /** 查询学生原来住宿信息 */
    List<LwgyHotelHoliday> queryStudentRoomIdOld(List<LwgyHotelHoliday> list);

    /** 根据事务申请表的学生id查询假期学生住宿信息 */
    List<LwgyHotelRequisition> selectHolidayStuList(List<LwgyHotelRequisition> list);
}
